package com.szeldon.declatest.exec.plugins;

import java.util.Properties;
import java.util.logging.Logger;

import com.szeldon.declatest.declaration.TestsSuiteDeclaration;
import com.szeldon.declatest.declaration.endpoints.EndpointDeclaration;
import com.szeldon.declatest.declaration.scenario.ScenarioDeclaration;
import com.szeldon.declatest.declaration.scenario.parts.DoScenarioStepPartDeclaration;
import com.szeldon.declatest.declaration.settings.SettingsDeclaration;
import com.szeldon.declatest.declaration.steps.ScenarioStepDeclaration;
import com.szeldon.declatest.exec.ITestSuiteExecutorListener;
import com.szeldon.declatest.exec.TestSuiteExecHistory;

/**
 * Plugin for executing DoScenarioSteps with WebService type of endpoint.
 * 
 * @author szeldon
 * 
 */
public class WebServiceDoScenarioPartExecutorPlugin implements IDoScenarioStepExecutorPlugin {

    public static final String WEB_SERVICE_ENDPOINT_TYPE = "WebService";

    private static Logger logger = Logger.getLogger(WebServiceDoScenarioPartExecutorPlugin.class.getName());

    @Override
    public String getSupportedEndpointType() {
        return WEB_SERVICE_ENDPOINT_TYPE;
    }

    @Override
    public void execute(DoScenarioStepPartDeclaration doScenarioStepPart, ScenarioStepDeclaration step,
            TestsSuiteDeclaration suite, Properties properties, EndpointDeclaration endpoint,
            SettingsDeclaration settings, ScenarioDeclaration scenario, TestSuiteExecHistory history,
            ITestSuiteExecutorListener listener) {
        logger.info("Starting execution of ScenarioStep with id=" + doScenarioStepPart.getStepId() + ".");
        throw new UnsupportedOperationException("Not YET implemented.");
    }

}
